package com.example.dw.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户实体类
 * @author system
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableId(value = "userid", type = IdType.AUTO)
    private Integer userid;

    /**
     * 用户名
     */
    @TableField("username")
    private String username;

    /**
     * 密码
     */
    @TableField("password")
    private String password;

    /**
     * 学校ID
     */
    @TableField("schoolid")
    private Integer schoolid;

    /**
     * 角色 (0-学生 1-教师 2-管理员)
     */
    @TableField("role")
    private Integer role;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 手机号
     */
    @TableField("phone")
    private String phone;

    /**
     * 头像
     */
    @TableField("avatar")
    private String avatar;

    /**
     * 状态 (0-正常 1-禁用)
     */
    @TableField("status")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField("createTime")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("updateTime")
    private LocalDateTime updateTime;

    /**
     * 删除时间
     */
    @TableField("deleteTime")
    private LocalDateTime deleteTime;

    /**
     * 删除状态 (0-未删除 1-已删除)
     */
    @TableField("deleteStatus")
    private Integer deleteStatus;

    /**
     * 班级ID
     */
    @TableField("classid")
    private Integer classid;

    /**
     * 性别 (0-女 1-男)
     */
    @TableField("sex")
    private Integer sex;

    /**
     * 昵称
     */
    @TableField("nickname")
    private String nickname;

    /**
     * 地区
     */
    @TableField("place")
    private String place;

    /**
     * 城市
     */
    @TableField("city")
    private String city;

    /**
     * 身份证正面照
     */
    @TableField("positiveimg")
    private String positiveimg;

    /**
     * 身份证背面照
     */
    @TableField("backimg")
    private String backimg;

    /**
     * 证书名称
     */
    @TableField("certificatename")
    private String certificatename;

    /**
     * 证书ID
     */
    @TableField("certificateid")
    private String certificateid;

    /**
     * 学生ID
     */
    @TableField("studentid")
    private Integer studentid;

    /**
     * 教师ID
     */
    @TableField("teacherid")
    private Integer teacherid;

    /**
     * 创建时间（字符串格式）
     */
    @TableField("createdAt")
    private String createdAt;

    /**
     * 更新时间
     */
    @TableField("updatedAt")
    private LocalDateTime updatedAt;

    /**
     * 年龄
     */
    @TableField("age")
    private Integer age;

    /**
     * 家长ID
     */
    @TableField("parentid")
    private Integer parentid;

    /**
     * 积分
     */
    @TableField("integral")
    private Integer integral;

    /**
     * 微信openid
     */
    @TableField("openid")
    private String openid;

    /**
     * 职位
     */
    @TableField("post")
    private String post;

    /**
     * 个人介绍
     */
    @TableField("introduce")
    private String introduce;

    /**
     * 教师照片
     */
    @TableField("techerimg")
    private String techerimg;
} 